import java.util.HashSet;
import java.util.Set;

/*
 * @lc app=leetcode.cn id=76 lang=java
 *
 * [76] 最小覆盖子串
 *
 * https://leetcode-cn.com/problems/minimum-window-substring/description/
 *
 * algorithms
 * Hard (34.76%)
 * Likes:    242
 * Dislikes: 0
 * Total Accepted:    14.3K
 * Total Submissions: 41.4K
 * Testcase Example:  '"ADOBECODEBANC"\n"ABC"'
 *
 * 给你一个字符串 S、一个字符串 T，请在字符串 S 里面找出：包含 T 所有字母的最小子串。
 *
 * 示例：
 *
 * 输入: S = "ADOBECODEBANC", T = "ABC"
 * 输出: "BANC"
 *
 * 说明：
 *
 *
 * 如果 S 中不存这样的子串，则返回空字符串 ""。
 * 如果 S 中存在这样的子串，我们保证它是唯一的答案。
 *
 *
 */

// @lc code=start
class Solution {
    public String minWindow(String s, String t) {
        Set<Character> src = new HashSet<>();
        for(int i=0; i < t.length() ; i++) {
            src.add(t.charAt(i));
        }
        int min = s.length();
        for(int i=0; i < s.length(); i++) {
            for(int j = i+t.length();  j - i < min; j++) {
                String sub = s.substring(i, j);
                Set<Character> set = new HashSet<>(src);
                for(char c : sub.toCharArray()) {
                    if(set.contains(c)) {
                        set.remove(c);
                        if(set.size() == 0) {
                            min =
                        }
                    }
                }
            }
        }
    }
}
// @lc code=end

